﻿/*
 * This software is the confidential and proprietary
 * information of NetBay
 * Such confidential information should not be disclosed
 * NetBay copyright(c) 2010
 */

#region Using
using System;
using System.Runtime.Serialization;
using System.ComponentModel;
using System.Text;
#endregion

namespace NetBay.Core.BusinessEntities
{
    [DataContract]
    /// <summary>
    /// Class handle a ParameMessageFlow (one row of r_param_message_flow table)
    /// <remarks>
    /// Columns :
    ///     RP_TD_ID        (integer)
    ///     Chrono_TYPE_ID  (integer)
    /// </remarks>
    /// </summary>
    public class ParamMessageFlow : ReturnObject
    {
        #region Enum
        /// <summary>
        /// List of DB functions to access data
        /// </summary>
        [DataContract]
        public enum Column
        {
            [DescriptionAttribute("RP_TD_ID")]
            TdId,
            [DescriptionAttribute("CHRONO_TYPE_ID")]
            ChronoTypeId,
        }
        #endregion

        #region Private members

        /// <summary>
        /// RP_TD_ID
        /// </summary>
        private long m_TdId;
        [DataMember]
        public long TdId
        {
            get { return m_TdId; }
            set { m_TdId = value; }
        }

        /// <summary>
        /// RP_TD_ID
        /// </summary>
        private long m_ChronoTypeId;
        [DataMember]
        public long ChronoTypeId
        {
            get { return m_ChronoTypeId; }
            set { m_ChronoTypeId = value; }
        }
        #endregion

        #region Init/Constructor
        /// <summary>
        /// Default constructor 
        /// </summary>
        public ParamMessageFlow()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Folder"/> class for error usages
        /// </summary>
        /// <param name="errorMessage">The error message.</param>
        /// <param name="applicationException">The application exception.</param>
        public ParamMessageFlow(string errorMessage, Exception applicationException = null)
            : base(errorMessage, applicationException)
        {
        }
        #endregion

        #region ToString
        /// <summary>
        /// Extend default description of class
        /// </summary>
        /// <returns>description of instance</returns>
        public override string ToString()
        {
            StringBuilder parameters = new StringBuilder("RP_TD_ID<", 4096);
            parameters.Append(TdId); parameters.Append("> ");
            parameters.Append("CHRONO_TYPE_ID<"); parameters.Append(ChronoTypeId); parameters.Append("> ");
            return parameters.ToString();
        }
        #endregion

        public override object Clone()
        {
            throw new NotImplementedException();
        }
    }
}

